#include  "cstereoshape.h"

CStereoShape::CStereoShape()
{
    std::cout << "constructor invoked!!!" << std::endl;
    numberOfObject++;
}

CStereoShape::CStereoShape(const CStereoShape & a)
{
    CStereoShape::numberOfObject++;
    std::cout << "Copy constructor invoked!!!" << std::endl;
}

CStereoShape & CStereoShape::operator=(const CStereoShape & a)
{
    CStereoShape::numberOfObject++;
    std::cout << "assignment function is invoked!!!" << std::endl;
    return *this;
}

CStereoShape::~CStereoShape()
{
    numberOfObject--;
}

double CStereoShape::GetArea()
{
    std::cout << "CStereoShape::GetArea()" << std::endl;
    return 0.0;
}

double CStereoShape::GetVolume()
{
    std::cout << "out CStereoShape::GetVolume() " << std::endl;
    return 0.0;
}

void CStereoShape::Show()
{
    std::cout << "out CStereoShape::Show()" << std::endl;
    std::cout << "This is a hexahedron!" << std::endl;
}

int CStereoShape::numberOfObject = 0;
int CStereoShape::GetNumOfObject()
{
    std::cout << "numberOfObject = " << numberOfObject << std::endl;
    return numberOfObject;
}